package com.zzl.finance.order.service;

import com.zzl.finance.order.dto.MailAddressAddDto;
import com.zzl.finance.order.dto.MailAddressUpdateDto;
import com.zzl.finance.order.entity.MailAddressEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zzl.general.common.exception.SysException;
import com.zzl.general.common.serurity.entity.User;
import com.zzl.general.common.utils.PageUtils;

import java.util.Map;

/**
 * @author hyt
 */
public interface MailAddressService extends IService<MailAddressEntity> {
    /**
     * 分页查询
     *
     * @param params 查询参数
     * @param user 登录用户
     * @return 分页数据
     */
    PageUtils queryPage(Map<String, Object> params, User user);

    /**
     * 新增
     *
     * @param addDto 新增实体
     * @param user   当前登录用户
     * @throws SysException 业务异常
     */
    void saveEntity(MailAddressAddDto addDto, User user) throws SysException;

    /**
     * 修改
     *
     * @param updateDto 修改实体
     * @param user      当前登录用户
     * @throws SysException 业务异常
     */
    void updateEntity(MailAddressUpdateDto updateDto, User user) throws SysException;

    /**
     * 获取默认数据
     *
     * @param user 登录用户
     * @return 默认数据
     */
    MailAddressEntity getDefault(User user);
}
